package com.king.designpatterns.设计模式对比.结构模型对比.代理模式;

import java.util.Random;

/**
 * 经纪人代理
 *
 * @author king
 * @date 2021-06-17 22:08
 */
public class Proxy implements IStar {
    private IStar star;
    private Random rand = new Random();

    public Proxy(IStar star) {
        this.star = star;
    }

    /**
     * 代理明星演戏
     */
    @Override
    public void action() {
        if (rand.nextBoolean()){
            System.out.println("经纪人同意安排明星演戏");
            this.star.action();
        } else {
            System.out.println("明星档期已满，不能安排演戏");
        }
    }

    @Override
    public void advert() {
        if (rand.nextBoolean()){
            System.out.println("经纪人同意安排明星广告代言");
            this.star.action();
        } else {
            System.out.println("明星档期已满，不能安排广告代言");
        }
    }
}
